package condominio.servlet.queja;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Collection;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import condominio.excepcion.DAOExcepcion;
import condominio.modelo.Queja;
import condominio.modelo.Visita;
import condominio.negocio.*;

/**
 * Servlet implementation class QuejaListarServlet
 */
@WebServlet("/QuejaListarServlet")
public class QuejaListarServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public QuejaListarServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		PrintWriter out = response.getWriter();
		
		String tipoListado = request.getParameter("Listado");
		String codigoDocumento = request.getParameter("codigoDocumento");

		
		System.out.println("Tipo de listado: " + tipoListado);
		System.out.println("Vivienda de queja: " + codigoDocumento);
		
		if(tipoListado.contains("queja")) {
			System.out.println("listado de quejas");
			GestionQuejas negocio = new GestionQuejas();
			try {
				Collection<Queja> listado = negocio.listarPorResidente(codigoDocumento);

				System.out.println("Cantidad de registros = "+ listado.size());
				String cadena = "<table border=1><tr><td>CODIGO</td><td>TIPO QUEJA</td><td>FECHA REPORTE</td><td>MOTIVO</td><td>ESTADO</td><td>VIVIENDA</td></tr>";
				Boolean estado;
				String val;
				for (Queja que : listado){
					estado=que.getEstadoQueja();
					if (estado==false){
						val="Proceso";
					}
					else{
						val="Atendido";
					}
					cadena=cadena + "<tr><td>"+que.getCodigoQueja()+"</td><td>"+que.getTipoQueja()+"</td><td>"+que.getFechaReporte()+"</td><td>"+que.getMotivoQueja()+"</td><td>"+val+"</td><td>"+que.getViVivienda()+"</td></tr>";
					//out.println("codigo " + que.getCodigoQueja() + "- FechaReporte " + que.getFechaReporte() + "-" + que.getMotivoQueja() + "-" + que.getEstadoQueja() + "-" + que.getViVivienda());
					
					//System.out.println("codigo " + que.getCodigoQueja() + "- FechaReporte " + que.getFechaReporte() + "-" + que.getMotivoQueja() + "-" + que.getEstadoQueja() + "-" + que.getViVivienda());
					
				}
				out.println(cadena+"</table>");
			} catch (DAOExcepcion e) {
				RequestDispatcher rd = request.getRequestDispatcher("Error_queja.jsp");
				rd.forward(request, response);
			}
		}
		 else {
			System.out.println("listado de visita");
			
			GestionVisitas negocio2 = new GestionVisitas();

			try {
				Collection<Visita> listado = negocio2.listar();
				
				String cadena = "<table border=1><tr><td>CODIGO_VISITA</td><td>DNI_VISITANTE</td><td>NOMBRE VISITANTE</td><td>VIVIENDA</td><td>FECHA</td></tr>";
				
				for (Visita vi : listado){
				
				cadena=cadena + "<tr><td>"+vi.getCodvisita()+"</td><td>"+vi.getDnivisita()+"</td><td>"+vi.getNombrevisita()+"</td><td>"+vi.getVivienda()+"</td><td>"+vi.getFechavisita()+"</td><td>";
				
								
				
					}
				out.println(cadena+"</table>");
				}
			 catch (DAOExcepcion e) {
				RequestDispatcher rd = request.getRequestDispatcher("Error_queja.jsp");
				rd.forward(request, response);
			}
		 }
		 }
	

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
	}

}
